Este é um exemplo de um programa de desenho simples que usa um canvas IUP para desenhar:
cdCanvas* Canvas = cdCreateCanvas(CD_NATIVEWINDOW, IupGetAttribute(IupCanvas,"CONID"));
cdActivate(Canvas);
cdLineStyle(CD_DASHED);
cdLine(0, 0, 100, 100);
cdKillCanvas(Canvas);
Caso deseje utilizar Coordenadas de Mundo:
cdCanvas* Canvas = cdCreateCanvas(CD_NATIVEWINDOW, IupGetAttribute(IupCanvas,"CONID"));
wdActivate(Canvas);
wdViewport(0, 100, 0, 100);
wdWindow(-1.5, 1.5, -3000, 3000);
cdLineStyle(CD_DASHED);
wdLine(-0.5, -500, 1.0, 1000);
cdKillCanvas(Canvas);
Para desenhar no fundo e mais tarde transferir o desenho para a tela, utilize:
cdCanvas* Canvas = cdCreateCanvas(CD_NATIVEWINDOW, IupGetAttribute(IupCanvas,"CONID"));
cdActivate(Canvas);
void* Image = cdCreateImage(100, 100);
cdCanvas* ImageCanvas = cdCreateCanvas(CD_IMAGE, Image);
cdActivate(ImageCanvas);
cdLineStyle(CD_DASHED);
cdLine(10, 10, 50, 50);
cdActivate(Canvas);
cdPutImage(Image, 0, 0);
cdKillImage(Image);
cdKillCanvas(ImageCanvas);
cdKillCanvas(Canvas);
Foi criada uma aplicação, chamada Simple Draw, que ilustra o uso de todas as funções da biblioteca CD (incluindo WD). O código-fonte pode ser visto no arquivo simple.c. Você também pode pegar o arquivo simple.zip(130Kb) para um conjunto completo de arquivos, incluindo makefiles para todas as plataformas. Descompacte os arquivos criando subdiretórios, parâmetro "-d".
O exemplo CDTEST é na verdade uma das aplicações que usamos para testar praticamente todas as funcionalidades da biblioteca CD. Sua interface utiliza a biblioteca IUP e pode ser executado em várias plataformas. Você pode pegar os executáveis ou o código fonte. Mas um aviso, é uma aplicação nem um pouco didática. Descompacte os arquivos criando subdiretórios, parâmetro "-d".